From: Alessandro Bono Date: Fri, 5 Aug 2022 10:56:04 +0000 (+0200) Subject: authPrompt: Don't propagate serviceName to setMessage X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~461^2^2~149 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=32248e822689b9e3357481672396bab3738e6970;p=gnome-shell.git authPrompt: Don't propagate serviceName to setMessage There isn't always a serviceName when we set a message. Furthermore we are passing the serviceName only to decide if we want to wiggle or not. Pass the wiggle parameters instead. If they are missing, we don't want to wiggle. This fixes the following error: JS ERROR: Exception in callback for signal: login-format-changed: Error: Wrong type number; string expected setMessage@resource:///org/gnome/shell/gdm/authPrompt.js:542:13 _showRealmLoginHint@resource:///org/gnome/shell/gdm/loginDialog.js:931:26 _emit@resource:///org/gnome/gjs/modules/core/_signals.js:114:47 _updateLoginFormat@resource:///org/gnome/shell/gdm/realmd.js:85:18 _reloadRealm@resource:///org/gnome/shell/gdm/realmd.js:57:14 _onRealmLoaded@resource:///org/gnome/shell/gdm/realmd.js:64:14 _makeProxyWrapper/ --- diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js index 4623c1e7c..865d1d22b 100644 --- a/js/gdm/authPrompt.js +++ b/js/gdm/authPrompt.js @@ -351,7 +351,20 @@ var AuthPrompt = GObject.registerClass({ } _onShowMessage(_userVerifier, serviceName, message, type) { - this.setMessage(serviceName, message, type); + let wiggleParameters = {duration: 0}; + + if (type === GdmUtil.MessageType.ERROR && + this._userVerifier.serviceIsFingerprint(serviceName)) { + // TODO: Use Await for wiggle to be over before unfreezing the user verifier queue + wiggleParameters = { + duration: 65, + wiggleCount: 3, + }; + this._userVerifier.increaseCurrentMessageTimeout( + wiggleParameters.duration * (wiggleParameters.wiggleCount + 2)); + } + + this.setMessage(message, type, wiggleParameters); this.emit('prompted'); } @@ -525,7 +538,7 @@ var AuthPrompt = GObject.registerClass({ }); } - setMessage(serviceName, message, type) { + setMessage(message, type, wiggleParameters = {duration: 0}) { if (type == GdmUtil.MessageType.ERROR) this._message.add_style_class_name('login-dialog-message-warning'); else @@ -545,17 +558,7 @@ var AuthPrompt = GObject.registerClass({ this._message.opacity = 0; } - if (type === GdmUtil.MessageType.ERROR && - this._userVerifier.serviceIsFingerprint(serviceName)) { - // TODO: Use Await for wiggle to be over before unfreezing the user verifier queue - const wiggleParameters = { - duration: 65, - wiggleCount: 3, - }; - this._userVerifier.increaseCurrentMessageTimeout( - wiggleParameters.duration * (wiggleParameters.wiggleCount + 2)); - Util.wiggle(this._message, wiggleParameters); - } + Util.wiggle(this._message, wiggleParameters); } updateSensitivity(sensitive) {